home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 January / enter-2004-01.iso / files / maxima-5.9.0.exe / {app} / info / maxima.info-6 < prev    next >
Encoding:
GNU Info File  |  2003-02-09  |  48.9 KB  |  1,268 lines

  1. This is maxima.info, produced by makeinfo version 4.1 from maxima.texi.
  2.  
  3.    This is a Texinfo Maxima Manual
  4.  
  5.    Copyright 1994,2001 William F. Schelter
  6.  
  7. START-INFO-DIR-ENTRY
  8. * Maxima: (maxima).     A computer algebra system.
  9. END-INFO-DIR-ENTRY
  10.  
  11. 
  12. File: maxima.info,  Node: SPECINT,  Next: Definitions for Special Functions,  Prev: GAMALG,  Up: Special Functions
  13.  
  14. SPECINT
  15. =======
  16.  
  17.    - The Hypergeometric Special Functions Package HYPGEO is still under
  18. development.  At the moment it will find the Laplace Transform or
  19. rather, the integral from 0 to INF of some special functions or
  20. combinations of them.  The factor, EXP(-P*var) must be explicitly
  21. stated.  The syntax is as follows: SPECINT(EXP(-P*var)*expr,var); where
  22. var is the variable of integration and expr may be any expression
  23. containing special functions (at your own risk).  Special function
  24. notation follows:
  25.      %J[index](expr)         Bessel Funct 1st Kind
  26.      %K[index](expr)           "     "    2nd Kind
  27.      %IBES[     ](    )      Modified Bessel Funct 1st Kind
  28.      %HE[     ](  )          Hermite Poly
  29.      %P[  ]( )               Legendre Funct
  30.      %Q[  ]( )               Legendre of second kind
  31.      HSTRUVE[ ]( )           Struve H Function
  32.      LSTRUVE[ ]( )             "    L Function
  33.      %F[ ]([],[],expr)       Hypergeometric Function
  34.      GAMMA()
  35.      GAMMAGREEK()
  36.      GAMMAINCOMPLETE()
  37.      SLOMMEL
  38.      %M[]()                  Whittaker Funct 1st Kind
  39.      %W[]()                     "       "    2nd  "
  40.  
  41. For a better feeling for what it can do, do DEMO(HYPGEO,DEMO,SHARE1); .
  42.  
  43. 
  44. File: maxima.info,  Node: Definitions for Special Functions,  Prev: SPECINT,  Up: Special Functions
  45.  
  46. Definitions for Special Functions
  47. =================================
  48.  
  49.  - Function: AIRY (X)
  50.      returns the Airy function Ai of real argument X.  The file
  51.      SHARE1;AIRY FASL contains routines to evaluate the Airy functions
  52.      Ai(X), Bi(X), and their derivatives dAi(X), dBi(X).  Ai and Bi
  53.      satisfy the AIRY eqn diff(y(x),x,2)-x*y(x)=0.  Read SHARE1;AIRY
  54.      USAGE for details.
  55.  
  56.  
  57.  - Function: ASYMP
  58.      - A preliminary version of a program to find the asymptotic
  59.      behavior of Feynman diagrams has been installed on the SHARE1;
  60.      directory.  For further information, see the file SHARE1;ASYMP
  61.      USAGE.  (For Asymptotic Analysis functions, see ASYMPA.)
  62.  
  63.  
  64.  - Function: ASYMPA
  65.      - Asymptotic Analysis - The file SHARE1;ASYMPA > contains
  66.      simplification functions for asymptotic analysis, including the
  67.      big-O and little-o functions that are widely used in complexity
  68.      analysis and numerical analysis.  Do BATCH("asympa.mc"); .  (For
  69.      asymptotic behavior of Feynman diagrams, see ASYMP.)
  70.  
  71.  
  72.  - Function: BESSEL (Z,A)
  73.      returns the Bessel function J for complex Z and real A > 0.0 .
  74.      Also an array BESSELARRAY is set up such that BESSELARRAY[I] =
  75.      J[I+A- ENTIER(A)](Z).
  76.  
  77.  
  78.  - Function: BESSEL_J [v](z)
  79.      The Bessel function of the first kind of order v and argument z.
  80.      It is defined by
  81.                          INF
  82.                          ====      k  - v - 2 k  v + 2 k
  83.                          \     (- 1)  2           z
  84.                            >    --------------------------
  85.                          /        k! GAMMA(v + k + 1)
  86.                          ====
  87.                          k = 0
  88.  
  89.  
  90.  - Function: BESSEL_Y [v](z)
  91.      The Bessel function of the second kind of order v and argument z.
  92.      It is defined by
  93.                              COS(%PI v) BESSEL_J (z) - BESSEL_J   (z)
  94.                                                 v              - v
  95.                              ----------------------------------------
  96.                                             SIN(%PI v)
  97.  
  98.      when v is not an integer.  When v is an integer n, the limit as v
  99.      approaches n is taken.
  100.  
  101.  
  102.  - Function: BESSEL_I [v](z)
  103.      The modified Bessel function of the first kind of order v and
  104.      argument z.    It is defined by
  105.  
  106.                          INF
  107.                          ====      - v - 2 k  v + 2 k
  108.                          \     2        z
  109.           (D1)                 >     -------------------
  110.                          /     k! GAMMA(v + k + 1)
  111.                          ====
  112.                          k = 0
  113.  
  114.  
  115.  - Function: BESSEL_K [v](z)
  116.      The modified Bessel function of the second kind of order v and
  117.      argument z.  It is defined by
  118.  
  119.                   %PI CSC(%PI v) (BESSEL_I   (z) - BESSEL_I (z))
  120.                               - v         v
  121.           (D3)             ----------------------------------------------
  122.                                 2
  123.      when v is not an integer.  If v is an integer n, then the limit as
  124.      v approaches n is taken.
  125.  
  126.  - Variable: BESSELEXPAND
  127.      default: FALSE  Controls expansion of the Bessel functions when
  128.      the order half of an  odd integer.  In this case, the Bessel
  129.      functions can be expanded in  terms of other elementary functions.
  130.      When BESSELEXPAND is true, the  Bessel function is expanded.
  131.  
  132.           (C1) bessel_j[3/2](z);
  133.           
  134.           (D1)                            BESSEL_J   (z)
  135.                                                   3/2
  136.           (C2) besselexpand:true;
  137.           
  138.           (D2)                                 TRUE
  139.           (C3) bessel_j[3/2](z);
  140.           
  141.                                                    COS(z)   SIN(z)
  142.                                   SQRT(2) SQRT(z) (------ - ------)
  143.                                                      z         2
  144.                                                               z
  145.           (D3)                  - ---------------------------------
  146.                                               SQRT(%PI)
  147.  
  148.  - Function: BETA (X, Y)
  149.      same as GAMMA(X)*GAMMA(Y)/GAMMA(X+Y).
  150.  
  151.  
  152.  - Function: GAMMA (X)
  153.      the gamma function. GAMMA(I)=(I-1)!  for I a positive integer.
  154.      For the Euler-Mascheroni constant, see %GAMMA.  See also the
  155.      MAKEGAMMA function.  The variable GAMMALIM[1000000] (which see)
  156.      controls simplification of the gamma function.
  157.  
  158.  
  159.  - Variable: GAMMALIM
  160.      default: [1000000] controls simplification of the gamma function
  161.      for integral and rational number arguments.  If the absolute value
  162.      of the argument is not greater than GAMMALIM, then simplification
  163.      will occur.  Note that the FACTLIM switch controls simplification
  164.      of the result of GAMMA of an integer argument as well.
  165.  
  166.  
  167.  - Function: INTOPOIS (A)
  168.      converts A into a Poisson encoding.
  169.  
  170.  
  171.  - Function: MAKEFACT (exp)
  172.      transforms occurrences of binomial,gamma, and beta functions in
  173.      exp to factorials.
  174.  
  175.  
  176.  - Function: MAKEGAMMA (exp)
  177.      transforms occurrences of binomial,factorial, and beta functions
  178.      in exp to gamma functions.
  179.  
  180.  
  181.  - Function: NUMFACTOR (exp)
  182.      gives the numerical factor multiplying the expression exp which
  183.      should be a single term.  If the gcd of all the terms in a sum is
  184.      desired the CONTENT function may be used.
  185.           (C1) GAMMA(7/2);
  186.           (D1)               15 SQRT(%PI)
  187.                              ------------
  188.                                   8
  189.           (C2) NUMFACTOR(%);
  190.                               15
  191.           (D2)                --
  192.                                8
  193.  
  194.  - Function: OUTOFPOIS (A)
  195.      converts A from Poisson encoding to general representation.  If A
  196.      is not in Poisson form, it will make the conversion, i.e.  it will
  197.      look like the result of OUTOFPOIS(INTOPOIS(A)).  This function is
  198.      thus a canonical simplifier for sums of powers of SIN's and COS's
  199.      of a particular type.
  200.  
  201.  
  202.  - Function: POISDIFF (A, B)
  203.      differentiates A with respect to B.  B must occur only in the trig
  204.      arguments or only in the coefficients.
  205.  
  206.  
  207.  - Function: POISEXPT (A, B)
  208.      B a positive integer) is functionally identical to INTOPOIS(A**B).
  209.  
  210.  
  211.  - Function: POISINT (A, B)
  212.      integrates in a similarly restricted sense (to POISDIFF).
  213.      Non-periodic terms in B are dropped if B is in the trig arguments.
  214.  
  215.  
  216.  - Variable: POISLIM
  217.      default: [5] - determines the domain of the coefficients in the
  218.      arguments of the trig functions.  The initial value of 5
  219.      corresponds to the interval [-2^(5-1)+1,2^(5-1)], or [-15,16], but
  220.      it can be set to [-2^(n-1)+1, 2^(n-1)].
  221.  
  222.  
  223.  - Function: POISMAP (series, sinfn, cosfn)
  224.      will map the functions sinfn on the sine terms and cosfn on the
  225.      cosine terms of the poisson series given.  sinfn and cosfn are
  226.      functions of two arguments which are a coefficient and a
  227.      trigonometric part of a term in series respectively.
  228.  
  229.  
  230.  - Function: POISPLUS (A, B)
  231.      is functionally identical to INTOPOIS(A+B).
  232.  
  233.  
  234.  - Function: POISSIMP (A)
  235.      converts A into a Poisson series for A in general representation.
  236.  
  237.  
  238.  - special symbol: POISSON
  239.      - The Symbol /P/ follows the line label of Poisson series
  240.      expressions.
  241.  
  242.  
  243.  - Function: POISSUBST (A, B, C)
  244.      substitutes A for B in C.  C is a Poisson series.  (1) Where B is
  245.      a variable U, V, W, X, Y, or Z then A must be an expression linear
  246.      in those variables (e.g. 6*U+4*V).  (2) Where B is other than
  247.      those variables, then A must also be free of those variables, and
  248.      furthermore, free of sines or cosines.  POISSUBST(A, B, C, D, N)
  249.      is a special type of substitution which operates on A and B as in
  250.      type (1) above, but where D is a Poisson series, expands COS(D)
  251.      and SIN(D) to order N so as to provide the result of substituting
  252.      A+D for B in C.  The idea is that D is an expansion in terms of a
  253.      small parameter.  For example, POISSUBST(U,V,COS(V),E,3) results
  254.      in COS(U)*(1-E^2/2) - SIN(U)*(E-E^3/6).
  255.  
  256.  
  257.  - Function: POISTIMES (A, B)
  258.      is functionally identical to INTOPOIS(A*B).
  259.  
  260.  
  261.  - Function: POISTRIM ()
  262.      is a reserved function name which (if the user has defined it)
  263.      gets applied during Poisson multiplication.  It is a predicate
  264.      function of 6 arguments which are the coefficients of the U,
  265.      V,..., Z in a term.  Terms for which POISTRIM is TRUE (for the
  266.      coefficients of that term) are eliminated during multiplication.
  267.  
  268.  
  269.  - Function: PRINTPOIS (A)
  270.      prints a Poisson series in a readable format.  In common with
  271.      OUTOFPOIS, it will convert A into a Poisson encoding first, if
  272.      necessary.
  273.  
  274.  
  275.  - Function: PSI (X)
  276.      derivative of LOG(GAMMA(X)).  At this time, MACSYMA does not have
  277.      numerical evaluation capabilities for PSI.  For information on the
  278.      PSI[N](X) notation, see POLYGAMMA.
  279.  
  280.  
  281. 
  282. File: maxima.info,  Node: Orthogonal Polynomials,  Next: Elliptic Functions,  Prev: Special Functions,  Up: Top
  283.  
  284. Orthogonal Polynomials
  285. **********************
  286.  
  287. * Menu:
  288.  
  289. * Introduction to Orthogonal Polynomials::
  290. * Definitions for Orthogonal Polynomials::
  291.  
  292. 
  293. File: maxima.info,  Node: Introduction to Orthogonal Polynomials,  Next: Definitions for Orthogonal Polynomials,  Up: Orthogonal Polynomials
  294.  
  295. Introduction to Orthogonal Polynomials
  296. ======================================
  297.  
  298.    The specfun package, located in the share directory,  contains Maxima
  299. code for the evaluation of all orthogonal polynomials listed in Chapter
  300. 22 of Abramowitz and Stegun. These include Chebyshev, Laguerre,
  301. Hermite, Jacobi, Legendre, and ultraspherical (Gegenbauer) polynomials.
  302. Additionally, specfun contains code for spherical Bessel, spherical
  303. Hankel, and spherical harmonic functions.
  304.  
  305.    The following table lists each  function in specfun, its Maxima
  306. name, restrictions on its arguments ( m  and  n  must be integers), and
  307. a reference to the algorithm specfun uses to evaluate it.  With few
  308. exceptions, specfun follows the conventions of Abramowitz and Stegun.
  309. Before you use specfun, check that specfun's conventions match your
  310. expectations.
  311.  
  312.    A&S refers to Abramowitz and Stegun, _Handbook of Mathematical
  313. Functions_ (10th printing, December 1972), G&R to Gradshteyn and Ryzhik,
  314. _Table of Integrals, Series, and Products_ (1980 corrected and enlarged
  315. edition), and Merzbacher to _Quantum Mechanics_ (2ed, 1970).
  316.  
  317. _Function_         _Maxima Name_      _Restrictions_     _Reference(s)_
  318. Chebyshev T        chebyshev_t(n, x)  n > -1             A&S 22.5.31
  319. Chebyshev U        chebyshev_u(n, x)  n > -1             A&S 22.5.32
  320. generalized        gen_laguerre(n,a,x)n > -1             A&S page 789
  321. Laguerre                                                 
  322. Laguerre           laguerre(n,x)      n > -1             A&S 22.5.67
  323. Hermite            hermite(n,x)        n > -1            A&S 22.4.40,
  324.                                                          22.5.41
  325. Jacobi             jacobi_p(n,a,b,x)   n > -1, a, b >    A&S page 789
  326.                                       -1                 
  327. associated         assoc_legendre_p(n,m,x)n > -1             A&S 22.5.37,
  328. Legendre P                                               8.6.6, 8.2.5
  329. associated         assoc_legendre_q(n,m,x)n > -1, m > -1     G & R 8.706
  330. Legendre Q                                               
  331. Legendre P         legendre_p(n,m,x)  n > -1             A&S 22.5.35
  332. Legendre Q         legendre_q(n,m,x)  n > -1             A&S 8.6.19
  333. spherical Hankel   spherical_hankel1(n,n > -1             A&S 10.1.36
  334. 1st                x)                                    
  335. spherical Hankel   spherical_hankel2(n,n > -1             A&S 10.1.17
  336. 2nd                x)                                    
  337. spherical Bessel   spherical_bessel_j(n,x)n > -1             A&S 10.1.8,
  338. J                                                        10.1.15
  339. spherical Bessel   spherical_bessel_y(n,x)n > -1             A&S 10.1.9,
  340. Y                                                        10.1.15
  341. spherical          spherical_harmonic(n,m,x,y)n > -1, |m| <= n   Merzbacher 9.64
  342. harmonic                                                 
  343. ultraspherical     ultraspherical(n,a,x) n > -1            A&S 22.5.27
  344. (Gegenbauer)                                             
  345.  
  346.    The specfun package is primarily intended for symbolic computation.
  347. It is hoped  that it gives accurate floating point results as well;
  348. however, no claims are made  that the algorithms are well suited for
  349. numerical evaluation.  Some effort, however, has been made to provide
  350. good numerical performance.  When all arguments, except for the order,
  351. are floats (but not bfloats), many functions in specfun call a float
  352. modedeclared version of the Jacobi function.  This  greatly speeds
  353. floating point evaluation of the orthogonal polynomials.
  354.  
  355.    specfun handles most domain errors  by returning an unevaluated
  356. function.  No attempt has been made to define simplification rules
  357. (based on recursion relations) for unevaluated functions.  Users should
  358. be aware that it is possible for an expression involving sums of
  359. unevaluated special functions to vanish, yet Maxima is unable to reduce
  360. it to zero.  Be careful.
  361.  
  362.    To access functions in specfun, you must first load specfun.o.
  363. Alternatively, you may append autoload statements to your init.lsp file
  364. (located in your working directory). To autoload  the hermite function,
  365. for example, append
  366.         (defprop |$hermite| #"specfun.o" autoload)
  367.         (add2lnc '|$hermite| $props)
  368.    to your init.lsp file.  An example use of specfun is
  369.      (c1) load("specfun.o")$
  370.      (c2) [hermite(0,x),hermite(1,x),hermite(2,x)];
  371.      (d2) [1,2*x,-2*(1-2*x^2)]
  372.      (c3) diff(hermite(n,x),x);
  373.      (d3) 2*n*hermite(n-1,x)
  374.  
  375.    When using the compiled version of specfun, be especially careful to
  376. use the correct number of function arguments; calling them with too
  377. few arguments may generate a fatal error messages.  For example
  378.      (c1) load("specfun")$
  379.      /* chebyshev_t requires two arguments. */
  380.      (c2) chebyshev_t(8);
  381.      Error: Caught fatal error [memory may be damaged]
  382.      Fast links are on: do (si::use-fast-links nil) for debugging
  383.      Error signalled by MMAPCAR.
  384.      Broken at SIMPLIFY.  Type :H for Help.
  385.    Maxima code translated into Lisp handles such errors more gracefully.
  386. If specfun.LISP is installed on your machine, the same computation
  387. results in  a clear error message.  For example
  388.      (c1) load("specfun.LISP")$
  389.      (c2) chebyshev_t(8);
  390.      Error: Expected 2 args but received 1 args
  391.      Fast links are on: do (si::use-fast-links nil) for debugging
  392.      Error signalled by MACSYMA-TOP-LEVEL.
  393.      Broken at |$CHEBYSHEV_T|.  Type :H for Help.
  394.    Generally, compiled code runs faster than translated code; however,
  395. translated code may be better for program development.
  396.  
  397.    For some functions, when the order is symbolic but has been declared
  398. to be an integer, specfun will return a series representation.  (The
  399. series representation is not used by specfun for any computations.) You
  400. may use this feature to find symbolic values for special values
  401. orthogonal polynomials.  An example:
  402.      (c1) load("specfun")$
  403.      (c2) legendre_p(n,1);
  404.      (d2)        legendre_p(n, 1)
  405.      /* Declare n to be an integer; now legendre_p(n,1) evaluates to 1. */
  406.      (c3) declare(n,integer)$
  407.      (c4) legendre_p(n,1);
  408.      (d4)        1
  409.      (c5) ultraspherical(n,3/2,1);
  410.      (d4)         (n+1)*gamma (n+3) / (2*gamma (n+2))
  411.    Although the preceding example doesn't show it, two terms of the sum
  412. are added outside the summation.  Removing these two terms avoids
  413. errors associated with  0^0 terms in a sum that should evaluate to 1,
  414. but evaluate to 0 in a Maxima summation. Because the sum index runs
  415. from 1 to n - 1, the lower sum index will exceed the upper sum index
  416. when  n = 0; setting sumhack to true provides a fix. For example:
  417.  
  418.      (c1) load("specfun.o")$
  419.      (c2) declare(n,integer)$
  420.      (c3) e : legendre_p(n,x)$
  421.      (c4) ev(e,sum,n=0);
  422.      Lower bound to SUM: 1
  423.      is greater than the upper bound: - 1
  424.       -- an error.  Quitting.  To debug this try DEBUGMODE(TRUE);)
  425.      (c5) ev(e,sum,n=0),sumhack : true;
  426.      (d5)         1
  427.  
  428.    Most  functions in specfun have a gradef property; derivatives with
  429. respect to the order or other function parameters aren't unevaluated.
  430.  
  431.    The specfun package and its documentation were written by Barton
  432. Willis of the University of Nebraska at Kearney. It is released under
  433. the terms of the General Public License (GPL).  Send bug reports and
  434. comments on this package to willisb@unk.edu.  In your  report, please
  435. include Maxima and specfun version information.  The specfun version
  436. may be found using get:
  437.       (c2) get('specfun,'version);
  438.       (d2)          110
  439.  
  440. 
  441. File: maxima.info,  Node: Definitions for Orthogonal Polynomials,  Prev: Introduction to Orthogonal Polynomials,  Up: Orthogonal Polynomials
  442.  
  443. Definitions for Orthogonal Polynomials
  444. ======================================
  445.  
  446.  - Function: ASSOC_LEGENDRE_P (n, m, x)
  447.      [specfun package] return the associated Legendre function of the
  448.      first kind for  integers  n > -1  and  m > -1.  When  | m | > n
  449.      and  n >= 0, we have   assoc_legendre_p (n, m, x) = 0.  Reference:
  450.      A&S 22.5.37 page 779,  A&S 8.6.6 (second equation) page 334, and
  451.      A&S 8.2.5 page 333.  To access this function, load("specfun").
  452.      See *Note ASSOC_LEGENDRE_Q::, *Note LEGENDRE_P::, and *Note
  453.      LEGENDRE_Q::.
  454.  
  455.  - Function: ASSOC_LEGENDRE_Q (n, m, x)
  456.      [specfun package] return the associated Legendre function of the
  457.      second kind for  integers  n > -1  and  m > -1.
  458.  
  459.      Reference: Gradshteyn and Ryzhik  8.706 page 1000.
  460.  
  461.      To access this function, load("specfun").
  462.  
  463.      See also ASSOC_LEGENDRE_P, LEGENDRE_P, and LEGENDRE_Q.
  464.  
  465.  - Function: CHEBYSHEV_T (n, x)
  466.      [specfun package] return the Chebyshev function of the first kind
  467.      for  integers  n > -1.
  468.  
  469.      Reference: A&S 22.5.31 page 778 and A&S 6.1.22 page 256.
  470.  
  471.      To access this function, load("specfun").
  472.  
  473.      See also CHEBYSHEV_U.
  474.  
  475.  
  476.  - Function: CHEBYSHEV_U (n, x)
  477.      [specfun package] return the Chebyshev function of the second kind
  478.      for integers  n > -1.
  479.  
  480.      Reference: A&S, 22.8.3 page 783  and A&S 6.1.22 page 256.
  481.  
  482.      To access this function, load("specfun").
  483.  
  484.      See also CHEBYSHEV_T.
  485.  
  486.  
  487.  - Function: GEN_LAGUERRE (n, a, x)
  488.      [specfun package] return the generalized Laguerre polynomial for
  489.      integers  n > -1.
  490.  
  491.      To access this function, load("specfun").
  492.  
  493.      Reference: table on page 789 in A&S.
  494.  
  495.  - Function: HERMITE (n,x)
  496.      [specfun package] return the Hermite polynomial for integers  n >
  497.      -1.
  498.  
  499.      To access this function, load("specfun").
  500.  
  501.      Reference:  A&S 22.5.40 and 22.5.41, page 779.
  502.  
  503.  
  504.  - Function: JACOBI_P (n, a, b, x)
  505.      [specfun package] return the Jacobi polynomial for integers  n >
  506.      -1  and  a  and  b  symbolic or  a > -1  and b > -1.  (The Jacobi
  507.      polynomials are actually defined for all  a  and  b ; however, the
  508.      Jacobi polynomial weight  (1-x)^a(1+x)^b isn't integrable for  a
  509.      <= -1 or  b <= -1. )
  510.  
  511.      When a, b, and  x  are floats (but not bfloats) specfun calls a
  512.      special modedeclared version of jacobi_p.  For numerical values,
  513.      the modedeclared version is much faster than the other version.
  514.      Many  functions in specfun are computed as a special case of the
  515.      Jacobi polynomials; they also enjoy the  speed boost from the
  516.      modedeclared version of  jacobi.
  517.  
  518.      If  n  has been declared to be an integer, jacobi_p (n, a, b, x)
  519.      returns a summation representation for the Jacobi function.
  520.      Because Maxima simplifies 0^0  to  0  in a sum, two terms of the
  521.      sum are added outside the summation.
  522.  
  523.      To access this function, load("specfun").
  524.  
  525.      Reference:  table on page 789 in A&S.
  526.  
  527.  
  528.  - Function: LAGUERRE (n, x)
  529.      [specfun package] return the Laguerre polynomial for integers  n >
  530.      -1.
  531.  
  532.      Reference: A&S 22.5.16, page 778 and A&S page 789.
  533.  
  534.      To access this function, load("specfun").
  535.  
  536.      See also GEN_LAGUERRE.
  537.  
  538.  
  539.  - Function: LEGENDRE_P (n, x)
  540.      [specfun package] return the Legendre polynomial of the first kind
  541.      for  integers  n > -1.
  542.  
  543.      Reference: A&S 22.5.35 page 779.
  544.  
  545.      To access this function, load("specfun").
  546.  
  547.      See *Note LEGENDRE_Q::.
  548.  
  549.  
  550.  - Function: LEGENDRE_Q (n, x)
  551.      [specfun package] return the Legendre polynomial of the first kind
  552.      for  integers  n > -1.
  553.  
  554.      Reference: A&S 8.6.19 page 334.
  555.  
  556.      To access this function, load("specfun").
  557.  
  558.      See also LEGENDRE_P.
  559.  
  560.  
  561.  - Function: SPHERICAL_BESSEL_J (n, x)
  562.      [specfun package] return the spherical Bessel function of the
  563.      first kind for  integers  n > -1.
  564.  
  565.      Reference: A&S 10.1.8 page 437 and A&S 10.1.15 page 439.
  566.  
  567.      To access this function, load("specfun").
  568.  
  569.      See also SPHERICAL_HANKEL1, SPHERICAL_HANKEL2, and
  570.      SPHERICAL_BESSEL_Y.
  571.  
  572.  
  573.  - Function: SPHERICAL_BESSEL_Y (n, x)
  574.      [specfun package] return the spherical Bessel function of the
  575.      second kind for  integers  n > -1.
  576.  
  577.      Reference: A&S 10.1.9 page 437 and 10.1.15 page 439.
  578.  
  579.      To access this function, load("specfun").
  580.  
  581.      See also SPHERICAL_HANKEL1, SPHERICAL_HANKEL2, and
  582.      SPHERICAL_BESSEL_Y.
  583.  
  584.  
  585.  - Function: SPHERICAL_HANKEL1 (n,x)
  586.      [specfun package] return the spherical hankel function  of the
  587.      first kind for  integers  n > -1.
  588.  
  589.      Reference: A&S 10.1.36 page 439.
  590.  
  591.      To access this function, load("specfun").
  592.  
  593.      See also SPHERICAL_HANKEL2, SPHERICAL_BESSEL_J, and
  594.      SPHERICAL_BESSEL_Y.
  595.  
  596.  
  597.  - Function: SPHERICAL_HANKEL2 (n,x)
  598.      [specfun package] return the spherical hankel function  of the
  599.      second kind for  integers  n > -1.
  600.  
  601.      Reference:  A&S 10.1.17 page 439.
  602.  
  603.      To access this function, load("specfun").
  604.  
  605.      See also SPHERICAL_HANKEL1, SPHERICAL_BESSEL_J, and
  606.      SPHERICAL_BESSEL_Y.
  607.  
  608.  
  609.  - Function: SPHERICAL_HARMONIC (n, m, x, y)
  610.      [specfun package] return the spherical harmonic function for
  611.      integers  n > -1 and  | m | <= n .
  612.  
  613.      Reference:  Merzbacher 9.64.
  614.  
  615.      To access this function, load("specfun").
  616.  
  617.      See also ASSOC_LEGENDRE_P
  618.  
  619.  
  620.  - Function: ULTRASPHERICAL (n,a,x)
  621.      [specfun package] return the ultraspherical polynomials for
  622.      integers  n > -1.  The ultraspherical polynomials are also known
  623.      as Gegenbauer polynomials.
  624.  
  625.      Reference: A&S 22.5.27
  626.  
  627.      To access this function, load("specfun").
  628.  
  629.      See also JACOBI_P.
  630.  
  631.  
  632. 
  633. File: maxima.info,  Node: Elliptic Functions,  Next: Limits,  Prev: Orthogonal Polynomials,  Up: Top
  634.  
  635. Elliptic Functions
  636. ******************
  637.  
  638. * Menu:
  639.  
  640. * Introduction to Elliptic Functions and Integrals::
  641. * Definitions for Elliptic Functions::
  642. * Definitions for Elliptic Integrals::
  643.  
  644. 
  645. File: maxima.info,  Node: Introduction to Elliptic Functions and Integrals,  Next: Definitions for Elliptic Functions,  Up: Top
  646.  
  647. Introduction to Elliptic Functions and Integrals
  648. ================================================
  649.  
  650.    Maxima includes support for Jacobian elliptic functions and for
  651. complete and incomplete elliptic integrals.  This includes symbolic
  652. manipulation of these functions and numerical evaluation as well.
  653. Definitions of these functions and many of their properties can by
  654. found in Abramowitz and Stegun, Chapter 16-17.  As much as possible, we
  655. use the definitions and relationships given there.
  656.  
  657.    In particular, all elliptic functions and integrals use the parameter
  658. m instead of the modulus k or the modular angle \alpha.  This is one
  659. area where we differ from Abramowitz and Stegun who use the modular
  660. angle for the elliptic functions.  The following relationships are true:
  661. m = k^2 and k = \sin(\alpha)
  662.  
  663.    The elliptic functions and integrals are primarily intended to
  664. support symbolic computation.  Therefore, most of derivatives of the
  665. functions and integrals are known.  However, if floating-point values
  666. are given, a floating-point result is returned.
  667.  
  668.    Support for most of the other properties of elliptic functions and
  669. integrals other than derivatives has not yet been written.
  670.  
  671.    Some examples of elliptic functions:
  672.      (C1) jacobi_sn(u,m);
  673.      (D1)                            JACOBI_SN(u, m)
  674.      (C2) jacobi_sn(u,1);
  675.      (D2)                                TANH(u)
  676.      (C3) jacobi_sn(u,0);
  677.      (D3)                                SIN(u)
  678.      (C4) diff(jacobi_sn(u,m),u);
  679.      (D4)                    JACOBI_CN(u, m) JACOBI_DN(u, m)
  680.      (C5) diff(jacobi_sn(u,m),m);
  681.      (D5) JACOBI_CN(u, m) JACOBI_DN(u, m)
  682.      
  683.            ELLIPTIC_E(ASIN(JACOBI_SN(u, m)), m)
  684.       (u - ------------------------------------)/(2 m)
  685.                           1 - m
  686.      
  687.                  2
  688.         JACOBI_CN (u, m) JACOBI_SN(u, m)
  689.       + --------------------------------
  690.                    2 (1 - m)
  691.  
  692.    Some examples of elliptic integrals:
  693.      (C1) elliptic_f(phi,m);
  694.      (D1)                          ELLIPTIC_F(PHI, m)
  695.      (C2) elliptic_f(phi,0);
  696.      (D2)                                  PHI
  697.      (C3) elliptic_f(phi,1);
  698.                                            PHI   %PI
  699.      (D3)                          LOG(TAN(--- + ---))
  700.                                             2     4
  701.      (C4) elliptic_e(phi,1);
  702.      (D4)                               SIN(PHI)
  703.      (C5) elliptic_e(phi,0);
  704.      (D5)                                  PHI
  705.      (C6) elliptic_kc(1/2);
  706.                                                  1
  707.      (D6)                            ELLIPTIC_KC(-)
  708.                                                  2
  709.      (C7) makegamma(%);
  710.                                              2 1
  711.                                         GAMMA (-)
  712.                                                4
  713.      (D7)                              -----------
  714.                                        4 SQRT(%PI)
  715.      (C8) diff(elliptic_f(phi,m),phi);
  716.                                             1
  717.      (D8)                         ---------------------
  718.                                                 2
  719.                                   SQRT(1 - m SIN (PHI))
  720.      (C9) diff(elliptic_f(phi,m),m);
  721.            ELLIPTIC_E(PHI, m) - (1 - m) ELLIPTIC_F(PHI, m)
  722.      (D9) (-----------------------------------------------
  723.                                   m
  724.      
  725.                                  COS(PHI) SIN(PHI)
  726.                              - ---------------------)/(2 (1 - m))
  727.                                              2
  728.                                SQRT(1 - m SIN (PHI))
  729.  
  730.    Support for elliptic functions and integrals was written by Raymond
  731. Toy.  It is placed under the terms of the General Public License (GPL)
  732. that governs the distribution of Maxima.
  733.  
  734. 
  735. File: maxima.info,  Node: Definitions for Elliptic Functions,  Next: Definitions for Elliptic Integrals,  Prev: Introduction to Elliptic Functions and Integrals,  Up: Top
  736.  
  737. Definitions for Elliptic Functions
  738. ==================================
  739.  
  740.  - Function: JACOBI_SN (u, m)
  741.      The Jacobian elliptic function sn(u,m).
  742.  
  743.  - Function: JACOBI_CN (u, m)
  744.      The Jacobian elliptic function cn(u,m).
  745.  
  746.  - Function: JACOBI_DN (u, m)
  747.      The Jacobian elliptic function dn(u,m).
  748.  
  749.  - Function: JACOBI_NS (u, m)
  750.      The Jacobian elliptic function ns(u,m) = 1/sn(u,m).
  751.  
  752.  - Function: JACOBI_SC (u, m)
  753.      The Jacobian elliptic function sc(u,m) = sn(u,m)/cn(u,m).
  754.  
  755.  - Function: JACOBI_SD (u, m)
  756.      The Jacobian elliptic function sd(u,m) = sn(u,m)/dn(u,m).
  757.  
  758.  - Function: JACOBI_NC (u, m)
  759.      The Jacobian elliptic function nc(u,m) = 1/cn(u,m).
  760.  
  761.  - Function: JACOBI_CS (u, m)
  762.      The Jacobian elliptic function cs(u,m) = cn(u,m)/sn(u,m).
  763.  
  764.  - Function: JACOBI_CD (u, m)
  765.      The Jacobian elliptic function cd(u,m) = cn(u,m)/dn(u,m).
  766.  
  767.  - Function: JACOBI_ND (u, m)
  768.      The Jacobian elliptic function nc(u,m) = 1/cn(u,m).
  769.  
  770.  - Function: JACOBI_DS (u, m)
  771.      The Jacobian elliptic function ds(u,m) = dn(u,m)/sn(u,m).
  772.  
  773.  - Function: JACOBI_DC (u, m)
  774.      The Jacobian elliptic function dc(u,m) = dn(u,m)/cn(u,m).
  775.  
  776.  - Function: INVERSE_JACOBI_SN (u, m)
  777.      The inverse of the Jacobian elliptic function sn(u,m).
  778.  
  779.  - Function: INVERSE_JACOBI_CN (u, m)
  780.      The inverse of the Jacobian elliptic function cn(u,m).
  781.  
  782.  - Function: INVERSE_JACOBI_DN (u, m)
  783.      The inverse of the Jacobian elliptic function dn(u,m).
  784.  
  785.  - Function: INVERSE_JACOBI_NS (u, m)
  786.      The inverse of the Jacobian elliptic function ns(u,m).
  787.  
  788.  - Function: INVERSE_JACOBI_SC (u, m)
  789.      The inverse of the Jacobian elliptic function sc(u,m).
  790.  
  791.  - Function: INVERSE_JACOBI_SD (u, m)
  792.      The inverse of the Jacobian elliptic function sd(u,m).
  793.  
  794.  - Function: INVERSE_JACOBI_NC (u, m)
  795.      The inverse of the Jacobian elliptic function nc(u,m).
  796.  
  797.  - Function: INVERSE_JACOBI_CS (u, m)
  798.      The inverse of the Jacobian elliptic function cs(u,m).
  799.  
  800.  - Function: INVERSE_JACOBI_CD (u, m)
  801.      The inverse of the Jacobian elliptic function cd(u,m).
  802.  
  803.  - Function: INVERSE_JACOBI_ND (u, m)
  804.      The inverse of the Jacobian elliptic function nc(u,m).
  805.  
  806.  - Function: INVERSE_JACOBI_DS (u, m)
  807.      The inverse of the Jacobian elliptic function ds(u,m).
  808.  
  809.  - Function: INVERSE_JACOBI_DC (u, m)
  810.      The inverse of the Jacobian elliptic function dc(u,m).
  811.  
  812. 
  813. File: maxima.info,  Node: Definitions for Elliptic Integrals,  Prev: Definitions for Elliptic Functions,  Up: Top
  814.  
  815. Definitions for Elliptic Integrals
  816. ==================================
  817.  
  818.  - Function: ELLIPTIC_F (phi, m)
  819.      The incomplete elliptic integral of the first kind, defined as
  820.  
  821.      integrate(1/sqrt(1 - m*sin(x)^2), x, 0, phi)
  822.  
  823.      See also *Note ELLIPTIC_E::, *Note ELLIPTIC_KC::
  824.  
  825.  - Function: ELLIPTIC_E (phi, m)
  826.      The incomplete elliptic integral of the second kind, defined as
  827.      ELLIPTIC_E(u, m) = integrate(sqrt(1 - m*sin(x)^2), x, 0, phi) See
  828.      also *Note ELLIPTIC_E::, *Note ELLIPTIC_EC::
  829.  
  830.  - Function: ELLIPTIC_EU (u, m)
  831.      The incomplete elliptic integral of the second kind, defined as
  832.      integrate(dn(v,m)^2,v,0,u) = integrate(sqrt(1-m*t^2)/sqrt(1-t^2),
  833.      t, 0, tau)
  834.  
  835.      where tau = sn(u,m)
  836.  
  837.      This is related to ELLIPTIC_E by ELLIPTIC_EU(u, m) =
  838.      ELLIPTIC_E(asin(sn(u,m)),m) See also *Note ELLIPTIC_E::.
  839.  
  840.  - Function: ELLIPTIC_PI (n, phi, m)
  841.      The incomplete elliptic integral of the third kind, defined as
  842.      integrate(1/(1-n*sin(x)^2)/sqrt(1 - m*sin(x)^2), x, 0, phi)
  843.  
  844.      Only the derivative with respect to phi is known by MAXIMA.
  845.  
  846.  - Function: ELLIPTIC_KC (m)
  847.      The complete elliptic integral of the first kind, defined as
  848.  
  849.      integrate(1/sqrt(1 - m*sin(x)^2), x, 0, %pi/2)
  850.  
  851.      For certain values of m, the value of the integral is known in
  852.      terms of Gamma functions.  Use MAKEGAMMA to evaluate them.
  853.  
  854.  - Function: ELLIPTIC_EC (m)
  855.      The complete elliptic integral of the second kind, defined as
  856.  
  857.      integrate(sqrt(1 - m*sin(x)^2), x, 0, %pi/2)
  858.  
  859.      For certain values of m, the value of the integral is known in
  860.      terms of Gamma functions.  Use MAKEGAMMA to evaluate them.
  861.  
  862. 
  863. File: maxima.info,  Node: Limits,  Next: Differentiation,  Prev: Elliptic Functions,  Up: Top
  864.  
  865. Limits
  866. ******
  867.  
  868. * Menu:
  869.  
  870. * Definitions for Limits::
  871.  
  872. 
  873. File: maxima.info,  Node: Definitions for Limits,  Prev: Limits,  Up: Limits
  874.  
  875. Definitions for Limits
  876. ======================
  877.  
  878.  - Variable: LHOSPITALLIM
  879.      default: [4] - the maximum number of times L'Hospital's rule is
  880.      used in LIMIT.  This prevents infinite looping in cases like
  881.      LIMIT(COT(X)/CSC(X),X,0).
  882.  
  883.  
  884.  - Function: LIMIT (exp, var, val, dir)
  885.      finds the limit of exp as the real variable var approaches the
  886.      value val from the direction dir.  Dir may have the value PLUS for
  887.      a limit from above, MINUS for a limit from below, or may be
  888.      omitted (implying a two-sided limit is to be computed).  For the
  889.      method see Wang, P., "Evaluation of Definite Integrals by Symbolic
  890.      Manipulation" - Ph.D. Thesis - MAC TR-92 October 1971.  LIMIT uses
  891.      the following special symbols: INF (positive infinity) and MINF
  892.      (negative infinity).  On output it may also use UND (undefined),
  893.      IND (indefinite but bounded) and INFINITY (complex infinity).
  894.      LHOSPITALLIM[4] is the maximum number of times L'Hospital's rule
  895.      is used in LIMIT.  This prevents infinite looping in cases like
  896.      LIMIT(COT(X)/CSC(X),X,0).  TLIMSWITCH[FALSE] when true will cause
  897.      the limit package to use Taylor series when possible.
  898.      LIMSUBST[FALSE] prevents LIMIT from attempting substitutions on
  899.      unknown forms.  This is to avoid bugs like
  900.      LIMIT(F(N)/F(N+1),N,INF); giving 1.  Setting LIMSUBST to TRUE will
  901.      allow such substitutions.  Since LIMIT is often called upon to
  902.      simplify constant expressions, for example, INF-1, LIMIT may be
  903.      used in such cases with only one argument, e.g. LIMIT(INF-1); Do
  904.      EXAMPLE(LIMIT); for examples.
  905.  
  906.  
  907.  - Function: TLIMIT (exp,var,val,dir)
  908.      is just the function LIMIT with TLIMSWITCH set to TRUE.
  909.  
  910.  
  911.  - Variable: TLIMSWITCH
  912.      default: [FALSE] - if true will cause the limit package to use
  913.      Taylor series when possible.
  914.  
  915.  
  916. 
  917. File: maxima.info,  Node: Differentiation,  Next: Integration,  Prev: Limits,  Up: Top
  918.  
  919. Differentiation
  920. ***************
  921.  
  922. * Menu:
  923.  
  924. * Definitions for Differentiation::
  925.  
  926. 
  927. File: maxima.info,  Node: Definitions for Differentiation,  Prev: Differentiation,  Up: Differentiation
  928.  
  929. Definitions for Differentiation
  930. ===============================
  931.  
  932.  - Function: ANTID (G,X,U(X))
  933.      A routine for evaluating integrals of expressions involving an
  934.      arbitrary unspecified function and its derivatives.  It may be used
  935.      by LOAD(ANTID); , after which, the function ANTIDIFF may be used.
  936.      E.g.  ANTIDIFF(G,X,U(X)); where G is the expression involving U(X)
  937.      (U(X) arbitrary) and its derivatives, whose integral with respect
  938.      to X is desired.  The functions NONZEROANDFREEOF and LINEAR are
  939.      also defined, as well as ANTID.  ANTID is the same as ANTIDIFF
  940.      except that it returns a list of two parts, the first part is the
  941.      integrated part of the expression and the second part of the list
  942.      is the non-integrable remainder.
  943.  
  944.  
  945.  - Function: ANTIDIFF -
  946.      See ANTID.
  947.  
  948.  
  949.  - property: ATOMGRAD
  950.      - the atomic gradient property of an expression.  May be set by
  951.      GRADEF.
  952.  
  953.  
  954.  - Function: ATVALUE (form, list, value)
  955.      enables the user to assign the boundary value value to form at the
  956.      points specified by list.
  957.           (C1) ATVALUE(F(X,Y),[X=0,Y=1],A**2)$
  958.               The form must be a function, f(v1,v2,...), or a derivative,
  959.      DIFF(f(v1,v2,...),vi,ni,vj,nj,...) in which the functional
  960.      arguments explicitly appear (ni is the order of differentiation
  961.      with respect vi).      The list of equations determine the
  962.      "boundary" at which the value is given; list may be a list of
  963.      equations, as above, or a single equation, vi = expr.      The
  964.      symbols @1, @2,... will be used to represent the functional
  965.      variables v1,v2,... when atvalues are displayed.
  966.      PRINTPROPS([f1, f2,...], ATVALUE) will display the atvalues of the
  967.      functions f1,f2,... as specified in previously given uses of the
  968.      ATVALUE function. If the list contains just one element then the
  969.      element can be given without being in a list.  If a first argument
  970.      of ALL is given then atvalues for all functions which have them
  971.      will be displayed.  Do EXAMPLE(ATVALUE); for an example.
  972.  
  973.  
  974.  - Function: CARTAN -
  975.      The exterior calculus of differential forms is a basic tool of
  976.      differential geometry developed by Elie Cartan and has important
  977.      applications in the theory of partial differential equations.  The
  978.      present implementation is due to F.B. Estabrook and H.D. Wahlquist.
  979.      The program is self-explanatory and can be accessed by doing
  980.      batch("cartan"); which will give a description with examples.
  981.  
  982.  
  983.  - Function: DEL (v)
  984.      This is the differential of the variable v.  This commonly occurs
  985.      when DIFF is called without the dependent variable being given.
  986.      Then the differential of the expression is computed.  For example:
  987.           (C1) diff(x);
  988.           
  989.           (D1)                     DEL(x)
  990.           (C2) diff(x^2);
  991.           
  992.           (D2)                   2 x DEL(x)
  993.           (C3) diff(sin(x^2));
  994.           
  995.                                  2
  996.           (D3)                   2 x COS(x ) DEL(x)
  997.  
  998.  
  999.  - Function: DELTA (t)
  1000.      This is the Dirac Delta function.  Currently only LAPLACE knows
  1001.      about the DELTA function:
  1002.           (C1) LAPLACE(DELTA(T-A)*SIN(B*T),T,S);
  1003.           Is A positive, negative or zero?
  1004.           POS;
  1005.                                                     - A S
  1006.           (D1)                           SIN(A B) %E
  1007.  
  1008.  - Variable: DEPENDENCIES
  1009.      default: [] - the list of atoms which have functional dependencies
  1010.      (set up by the DEPENDS or GRADEF functions).  The command
  1011.      DEPENDENCIES has been replaced by the DEPENDS command.  Do
  1012.      DESCRIBE(DEPENDS);
  1013.  
  1014.  
  1015.  - Function: DEPENDS (funlist1,varlist1,funlist2,varlist2,...)
  1016.      declares functional dependencies for variables to be used by DIFF.
  1017.  
  1018.           DEPENDS([F,G],[X,Y],[R,S],[U,V,W],U,T)
  1019.      informs DIFF that F and G depend on X and Y, that R and S depend
  1020.      on U,V, and W, and that U depends on T.  The arguments to DEPENDS
  1021.      are evaluated.  The variables in each funlist are declared to
  1022.      depend on all the variables in the next varlist.  A funlist can
  1023.      contain the name of an atomic variable or array.  In the latter
  1024.      case, it is assumed that all the elements of the array depend on
  1025.      all the variables in the succeeding varlist.  Initially, DIFF(F,X)
  1026.      is 0; executing DEPENDS(F,X) causes future differentiations of F
  1027.      with respect to X to give dF/dX or Y (if DERIVABBREV:TRUE).
  1028.           (C1) DEPENDS([F,G],[X,Y],[R,S],[U,V,W],U,T);
  1029.           (D1)           [F(X, Y), G(X, Y), R(U, V, W), S(U, V, W), U(T)]
  1030.           (C2) DEPENDENCIES;
  1031.           (D2)           [F(X, Y), G(X, Y), R(U, V, W), S(U, V, W), U(T)]
  1032.           (C3) DIFF(R.S,U);
  1033.                                          dR           dS
  1034.           (D3)                           -- . S + R . --
  1035.                                          dU           dU
  1036.      Since MACSYMA knows the chain rule for symbolic derivatives, it
  1037.      takes advantage of the given dependencies as follows:
  1038.           (C4) DIFF(R.S,T);
  1039.                                      dR dU             dS dU
  1040.           (D4)                      (-- --) . S + R . (-- --)
  1041.                                      dU dT             dU dT
  1042.           If we set
  1043.           (C5) DERIVABBREV:TRUE;
  1044.           (D5)                                 TRUE
  1045.           then re-executing the command C4, we obtain
  1046.           (C6) ''C4;
  1047.           (D6)                      (R  U ) . S + R . (S  U )
  1048.                                       U  T              U  T
  1049.      To eliminate a previously declared dependency, the REMOVE command
  1050.      can be used.  For example, to say that R no longer depends on U as
  1051.      declared in C1, the user can type
  1052.           REMOVE(R,DEPENDENCY)
  1053.      This will eliminate all dependencies that may have been declared
  1054.      for R.
  1055.           (C7) REMOVE(R,DEPENDENCY);
  1056.           (D7)                                 DONE
  1057.           (C8) ''C4;
  1058.           (D8)                             R . (S  U )
  1059.                                             U    T
  1060.      CAVEAT: DIFF is the only MACSYMA command which uses DEPENDENCIES
  1061.      information.  The arguments to INTEGRATE, LAPLACE, etc. must be
  1062.      given their dependencies explicitly in the command, e.g.,
  1063.      INTEGRATE(F(X),X).
  1064.  
  1065.  
  1066.  - Variable: DERIVABBREV
  1067.      default: [FALSE] if TRUE will cause derivatives to display as
  1068.      subscripts.
  1069.  
  1070.  
  1071.  - Function: DERIVDEGREE (exp, dv, iv)
  1072.      finds the highest degree of the derivative of the dependent
  1073.      variable dv with respect to the independent variable iv occuring
  1074.      in exp.
  1075.           (C1) 'DIFF(Y,X,2)+'DIFF(Y,Z,3)*2+'DIFF(Y,X)*X**2$
  1076.           (C2) DERIVDEGREE(%,Y,X);
  1077.           (D2)                           2
  1078.  
  1079.  - Function: DERIVLIST (var1,...,vark)
  1080.      causes only differentiations with respect to the indicated
  1081.      variables, within the EV command.
  1082.  
  1083.  
  1084.  - Variable: DERIVSUBST
  1085.      default: [FALSE] - controls non-syntactic substitutions such as
  1086.           SUBST(X,'DIFF(Y,T),'DIFF(Y,T,2));
  1087.      If DERIVSUBST is set to true, this gives 'DIFF(X,T).
  1088.  
  1089.  
  1090.  - Function: DIFF (exp, v1, n1, v2, n2, ...)
  1091.      DIFF differentiates exp with respect to each vi, ni times.  If
  1092.      just the first derivative with respect to one variable is desired
  1093.      then the form DIFF(exp,v) may be used.  If the noun form of the
  1094.      function is required (as, for example, when writing a differential
  1095.      equation), 'DIFF should be used and this will display in a two
  1096.      dimensional format.  DERIVABBREV[FALSE] if TRUE will cause
  1097.      derivatives to display as subscripts.  DIFF(exp) gives the "total
  1098.      differential", that is, the sum of the derivatives of exp with
  1099.      respect to each of its variables times the function DEL of the
  1100.      variable.  No further simplification of DEL is offered.
  1101.           (C1) DIFF(EXP(F(X)),X,2);
  1102.                                        2
  1103.                                 F(X)  d             F(X)  d         2
  1104.           (D1)                %E     (--- F(X)) + %E     (-- (F(X)))
  1105.                                         2                 dX
  1106.                                       dX
  1107.           (C2) DERIVABBREV:TRUE$
  1108.           (C3) 'INTEGRATE(F(X,Y),Y,G(X),H(X));
  1109.                                           H(X)
  1110.                                          /
  1111.                                          [
  1112.           (D3)                           I     F(X, Y) dY
  1113.                                          ]
  1114.                                          /
  1115.                                           G(X)
  1116.           (C4) DIFF(%,X);
  1117.                       H(X)
  1118.                      /
  1119.                      [
  1120.           (D4)       I     F(X, Y)  dY + F(X, H(X)) H(X)  - F(X, G(X)) G(X)
  1121.                      ]            X                     X                  X
  1122.                      /
  1123.                       G(X)
  1124.      For the tensor package, the following modifications have been
  1125.      incorporated: 1) the derivatives of any indexed objects in exp
  1126.      will have the variables vi appended as additional arguments.  Then
  1127.      all the derivative indices will be sorted.  2) the vi may be
  1128.      integers from 1 up to the value of the variable DIMENSION[default
  1129.      value: 4].  This will cause the differentiation to be carried out
  1130.      wrt the vith member of the list COORDINATES which should be set to
  1131.      a list of the names of the coordinates, e.g., [x,y,z,t]. If
  1132.      COORDINATES is bound to an atomic variable, then that variable
  1133.      subscripted by vi will be used for the variable of
  1134.      differentiation.  This permits an array of coordinate names or
  1135.      subscripted names like X[1], X[2],... to be used.  If COORDINATES
  1136.      has not been assigned a value, then the variables will be treated
  1137.      as in 1) above.
  1138.  
  1139.  
  1140.  - special symbol: DIFF
  1141.      [flag] for ev causes all differentiations indicated in exp to be
  1142.      performed.
  1143.  
  1144.  - Function: DSCALAR (function)
  1145.      applies the scalar d'Alembertian to the scalar function.
  1146.           (C41) DEPENDENCIES(FIELD(R));
  1147.           (D41)                           [FIELD(R)]
  1148.           (C42) DSCALAR(FIELD);
  1149.           (D43)
  1150.               -M
  1151.             %E  ((FIELD  N - FIELD  M + 2 FIELD   ) R + 4 FIELD )
  1152.                        R  R       R  R         R R             R
  1153.           
  1154.           - -----------------------------------------------------
  1155.                                        2 R
  1156.  
  1157.  - Function: EXPRESS (expression)
  1158.      The result uses the noun form of any derivatives arising from
  1159.      expansion of the vector differential operators.  To force
  1160.      evaluation of these derivatives, the built-in EV function can be
  1161.      used together with the DIFF evflag, after using the built-in
  1162.      DEPENDS function to establish any new implicit dependencies.
  1163.  
  1164.  
  1165.  - Function: GENDIFF
  1166.      Sometimes DIFF(E,X,N) can be reduced even though N is symbolic.
  1167.           batch("gendif")$
  1168.      and you can try, for example,
  1169.  
  1170.           DIFF(%E^(A*X),X,Q)
  1171.      by using GENDIFF rather than DIFF.  Unevaluable items come out
  1172.      quoted.  Some items are in terms of "GENFACT", which see.
  1173.  
  1174.  
  1175.  - Function: GRADEF (f(x1, ..., xn), g1, ..., gn)
  1176.      defines the derivatives of the function f with respect to its n
  1177.      arguments.  That is, df/dxi = gi, etc.  If fewer than n gradients,
  1178.      say i, are given, then they refer to the first i arguments of f.
  1179.      The xi are merely dummy variables as in function definition
  1180.      headers and are used to indicate the ith argument of f.  All
  1181.      arguments to GRADEF except the first are evaluated so that if g is
  1182.      a defined function then it is invoked and the result is used.
  1183.      Gradients are needed when, for example, a function is not known
  1184.      explicitly but its first derivatives are and it is desired to
  1185.      obtain higher order derivatives.  GRADEF may also be used to
  1186.      redefine the derivatives of MACSYMA's predefined functions (e.g.
  1187.      GRADEF(SIN(X),SQRT(1-SIN(X)**2)) ).  It is not permissible to use
  1188.      GRADEF on subscripted functions.  GRADEFS is a list of the
  1189.      functions which have been given gradients by use of the GRADEF
  1190.      command (i.e. GRADEF(f(x1, ..., xn), g1, ..., gn)).
  1191.      PRINTPROPS([f1,f2,...],GRADEF) may be used to display the gradefs
  1192.      of the functions f1,f2,..  GRADEF(a,v,exp) may be used to state
  1193.      that the derivative of the atomic variable a with respect to v is
  1194.      exp.  This automatically does a DEPENDS(a,v).
  1195.      PRINTPROPS([a1,a2,...],ATOMGRAD) may be used to display the atomic
  1196.      gradient properties of a1,a2,...
  1197.  
  1198.  
  1199.  - Variable: GRADEFS
  1200.      default: [] - a list of the functions which have been given
  1201.      gradients by use of the GRADEF command (i.e. GRADEF(f(x1, ..., xn),
  1202.      g1, ..., gn).)
  1203.  
  1204.  
  1205.  - Function: LAPLACE (exp, ovar, lvar)
  1206.      takes the Laplace transform of exp with respect to the variable
  1207.      ovar and transform parameter lvar.  Exp may only involve the
  1208.      functions EXP, LOG, SIN, COS, SINH, COSH, and ERF.  It may also be
  1209.      a linear, constant coefficient differential equation in which case
  1210.      ATVALUE of the dependent variable will be used.  These may be
  1211.      supplied either before or after the transform is taken.  Since the
  1212.      initial conditions must be specified at zero, if one has boundary
  1213.      conditions imposed elsewhere he can impose these on the general
  1214.      solution and eliminate the constants by solving the general
  1215.      solution for them and substituting their values back. Exp may also
  1216.      involve convolution integrals.  Functional relationships must be
  1217.      explicitly represented in order for LAPLACE to work properly. That
  1218.      is, if F depends on X and Y it must be written as F(X,Y) wherever
  1219.      F occurs as in LAPLACE('DIFF(F(X,Y),X),X,S).  LAPLACE is not
  1220.      affected by DEPENDENCIES set up with the DEPENDS command.
  1221.           (C1) LAPLACE(%E**(2*T+A)*SIN(T)*T,T,S);
  1222.                                A
  1223.                            2 %E  (S - 2)
  1224.           (D1)            ---------------
  1225.                                   2     2
  1226.                           ((S - 2)  + 1)
  1227.  
  1228.  - Function: UNDIFF (exp)
  1229.      returns an expression equivalent to exp but with all derivatives
  1230.      of indexed objects replaced by the noun form of the DIFF function
  1231.      with arguments which would yield that indexed object if the
  1232.      differentiation were carried out.  This is useful when it is
  1233.      desired to replace a differentiated indexed object with some
  1234.      function definition and then carry out the differentiation by
  1235.      saying EV(...,DIFF).
  1236.  
  1237.  
  1238. 
  1239. File: maxima.info,  Node: Integration,  Next: Equations,  Prev: Differentiation,  Up: Top
  1240.  
  1241. Integration
  1242. ***********
  1243.  
  1244. * Menu:
  1245.  
  1246. * Introduction to Integration::
  1247. * Definitions for Integration::
  1248.  
  1249. 
  1250. File: maxima.info,  Node: Introduction to Integration,  Next: Definitions for Integration,  Prev: Integration,  Up: Integration
  1251.  
  1252. Introduction to Integration
  1253. ===========================
  1254.  
  1255.    MACSYMA has several routines for handling integration.  The
  1256. INTEGRATE command makes use of most of them.  There is also the ANTID
  1257. package, which handles an unspecified function (and its derivatives, of
  1258. course).  For numerical uses, there is the ROMBERG function.  There is
  1259. also an adaptave integrator which uses the Newton-Cotes 8 panel
  1260. quadrature rule, called QUANC8.  Hypergeometric Functions are being
  1261. worked on, do DESCRIBE(SPECINT); for details.  Generally speaking,
  1262. MACSYMA only handles integrals which are integrable in terms of the
  1263. "elementary functions" (rational functions, trigonometrics, logs,
  1264. exponentials, radicals, etc.) and a few extensions (error function,
  1265. dilogarithm).  It does not handle integrals in terms of unknown
  1266. functions such as g(x) and h(x).
  1267.  
  1268.